#pragma once
#include "IProtocol.h"
#include "ProtocolFactory.h"
#include <boost/archive/text_oarchive.hpp>
#include <boost/archive/text_iarchive.hpp>

class CProtocol_UDP : public IProtocol
{
public:
	CProtocol_UDP(void);

	friend class boost::serialization::access;

	template<class Archive> 
	void serialize(Archive & ar, const unsigned int version) 
	{
		ar & boost::serialization::base_object<IProtocol>(*this);
	}

	virtual ~CProtocol_UDP(void);

	virtual StackUtils::e_Status Decode( CPacket& packet );

	virtual StackUtils::e_Status Encode( CPacket& packet );

};
